package com.hyt.it.ogt.ks.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hyt.it.ogt.ks.api.kw.model.CandidateAccuracyDTO;
import com.hyt.it.ogt.ks.api.kw.model.CandidateScoreDTO;
import com.hyt.it.ogt.ks.model.entity.ExamScore;
import com.hyt.it.ogt.ks.model.vo.CandidateScoreVO;
import com.hyt.it.ogt.ks.model.vo.ScorePaperDetailsVO;
import com.hyt.it.ogt.ks.model.vo.login.ScoreLoginVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author linjd
 * @since 2020-06-02
 */
public interface IExamScoreService extends IService<ExamScore> {
    /**
     * 获取考试得分接口
     * @param examCandidateId
     * @param paperId
     * @param paperVersion
     * @param isBackup
     * @return
     */
    CandidateScoreDTO getScoreByExamCandidateId(String examCandidateId, String paperId, String paperVersion, Integer isBackup);

    /**
     * 获取考生正确率接口
     * @param examCandidateId
     * @return
     */
    List<CandidateAccuracyDTO> getCandidateAccuracy(String examCandidateId);
    
    /**
     * 查询考生成绩
     * @param 考试项目id
     * @param 考生id 
     * @return
     */
    CandidateScoreVO queryScore(String examId, String admissionNumber);
    
    /**
     * 查询考生成绩明细
     * @param examId 考试项目id
     * @param candidateId 考生id
     * @return
     */
    List<ScorePaperDetailsVO> queryScoreDetails(String examId, String candidateId);
    
    /**
     * 查询兴业银行岗位考试成绩
     * @param 考生id 
     * @return
     */
    CandidateScoreVO queryXyScore(String admissionNumber);

    /**
     *
     * @param examId
     * @param code
     * @param loginType
     * @return
     */
    ScoreLoginVO scoreLogin(String examId, String code, String loginType);
}
